// 内置模块（内置模块是由Node.js 官方提供的，例如fs、path、http等）
// 自定义模块（用户创建的每个.js文件，都是自定义模块）
// 第三方模块（由第三方开发出来的模块，并非官方提供的内置模块，也不是用户创建的自定义模块，使用前需要先下载） 使用require()方法加载其它模块时，会执行被加载模块中的代码。Node.js 遵循了CommonJS模块化规范，CommonJS规定了模块的特性和各模块之间如何相互依赖。
// CommonJS规定: 每个模块内部,module变量代表当前模块。module变量是一个对象，它的exports属性(即 module.exports）是对外的接口。加载某个模块，其实是加载该模块的module.exports属性。require()方法用于加载模块。
// console.log(module);
const m = require('./custom');
const m2 = require('./custom2')
console.log(m);
console.log("---------------");
console.log(m2);
console.log("---------------");
// m.sayHello();

const m3 = require('./custom3')
console.log(m3);